Ubuntu下编译程序并运行,以及makefile的简单用法

您所在的位置:网站首页 ubuntu 编译出来的能在centos运行吗 Ubuntu下编译程序并运行,以及makefile的简单用法

Ubuntu下编译程序并运行,以及makefile的简单用法

2024-07-10 05:06| 来源: 网络整理| 查看: 265

Ubuntu下编译程序并运行,以及makefile的简单用法 1.编写一个Hello world程序(1)用nano编辑器创建一个text.c文件(2)text.c里面的内容为如下代码(3)编译text.c文件并用-o选项,生成自己想要的可执行文件名(如果不用命令系统默认文件名为a.out)(4)运行text.c文件(5)程序输出效果小结:gcc最常见选项的应用:(1)-c 生成一个与源文件名相同的以.o为后缀名的文件(2)-o生成自己想要的可执行文件名,如果不用命令系统默认文件名为a.out 2.编写一个主程序文件 main1.c 和一个子程序文件 sub1.c,子程序文件的功能为进行两个数相乘运算(1)创建并编写main1.c文件(2)创建并编写sub1.c文件(3)编译并运行main1.c文件(4)在windows下用vc6.0运行该程序 3.用makefile的方式实现2(为了区别2,这里所有的文件名我改为了main2,sub2)(1)创建并编写main2.c(2)创建并编写sub2.c(3)创建并编写Makefile文件(4)编译并运行Makefile的可执行文件小结:(1)Makefile文件里面的每一个命令行必须用tab键开始(2)写完后直接用make命令编译(3)Makefile命令行中第一行第一个文件名为可执行文件,用./文件名运行该文件即可。

1.编写一个Hello world程序 (1)用nano编辑器创建一个text.c文件 nivechen@nivechen-virtual-machine:~$ nano text1.c (2)text.c里面的内容为如下代码 #include int main() { printf("Hello World \n"); return 0; } (3)编译text.c文件并用-o选项,生成自己想要的可执行文件名(如果不用命令系统默认文件名为a.out) nivechen@nivechen-virtual-machine:~$ gcc text1.c -o output1 (4)运行text.c文件 nivechen@nivechen-virtual-machine:~$ ./output1(如果上面没有用-o命令来编译,这里用./a.out命令) (5)程序输出效果 nivechen@nivechen-virtual-machine:~$ ./output1 Hello World 小结:gcc最常见选项的应用: (1)-c 生成一个与源文件名相同的以.o为后缀名的文件

举例:gcc -c test1.c 或者gcc -c test1.c -o test1.o两种写法均可 通过ls命令会发现在当前目录下面一定会有一个test1.o文件

(2)-o生成自己想要的可执行文件名,如果不用命令系统默认文件名为a.out

举例:gcc text1.c -o out1 这样写后在运行的时候用./out1程序会运行,如果不用-o命令,输出采用./a.out

2.编写一个主程序文件 main1.c 和一个子程序文件 sub1.c,子程序文件的功能为进行两个数相乘运算 (1)创建并编写main1.c文件 nivechen@nivechen-virtual-machine:~$ nano main1.c(创建main1.c文件) #include #include"sub1.c"//将sub1.c文件中的内容包含进来,sub1.c是自己创建的所以不用,而是用“” void main() { int x,y; float num; printf("请输入两个整数\n");//为了程序的可读性,不然会出现只有命令框,不知道做什么,所以输出提示信息加以说明。 scanf("%d%d",&x,&y);//输入两个整数 num=x2x(x,y);//调用x2x函数 printf("%f\n",num);//输出x2x函数运算结果 } (2)创建并编写sub1.c文件 nivechen@nivechen-virtual-machine:~$ nano sub1.c(创建sub1.c文件) float x2x(int a,int b)//定义一个函数 { float num; num=a*b;//两个数做乘法运算 return num; //返回运算得到的值 } (3)编译并运行main1.c文件 nivechen@nivechen-virtual-machine:~$ gcc main1.c -o output2//前面用了output1,这里用output2加以区别 nivechen@nivechen-virtual-machine:~$ ./output2 请输入两个整数 //这里就是程序可读性的体现 3 5 15.000000 (4)在windows下用vc6.0运行该程序 #include float x2x(int a,int b)//定义一个函数 { float num; num=a*b;//两个数做乘法运算 return num; //返回运算得到的值 } void main() { int x,y; float num; scanf("%d%d",&x,&y);//输入两个整数 num=x2x(x,y);//调用x2x函数 printf("%f\n",num);//输出x2x函数运算结果 }

运行结果如下:

程序运行结果

3.用makefile的方式实现2(为了区别2,这里所有的文件名我改为了main2,sub2) (1)创建并编写main2.c nivechen@nivechen-virtual-machine:~$ nano main2.c #include//注意这里不要把sub2.c文件在包含进来了,因为makefile文件的功能就是根据这几个文件的依赖关系连接起来。 float x2x(int a,int b); void main() { int x,y; float num; printf("请输入两个数:\n");//同样是程序可读性的体现 scanf("%d%d",&x,&y);//输入两个整数 num=x2x(x,y);//调用x2x函数 printf("%f\n",num);//输出x2x函数运算结果 } (2)创建并编写sub2.c nivechen@nivechen-virtual-machine:~$ nano sub2.c float x2x(int a,int b)//定义一个函数 { float num; num=a*b;//两个数做乘法运算 return num; //返回运算得到的值 } (3)创建并编写Makefile文件 nivechen@nivechen-virtual-machine:~$nano Makefile main2:main2.o sub2.o gcc -o main2 main2.o sub2.o main2.o:main2.c gcc -c main2.c sub2.o:sub2.c gcc -c sub2.c clean: rm -f *.o (4)编译并运行Makefile的可执行文件 nivechen@nivechen-virtual-machine:~$ make//直接在命令框输入make即可运行 make: “main2”已是最新。//因为我这里已经提前编译运行过,所以显示是最新 nivechen@nivechen-virtual-machine:~$ ./main2 请输入两个数: 2 6 12.000000 小结: (1)Makefile文件里面的每一个命令行必须用tab键开始 (2)写完后直接用make命令编译 (3)Makefile命令行中第一行第一个文件名为可执行文件,用./文件名运行该文件即可。

以上就是博客的全部内容,若有不足之处欢迎留言交流。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3